home *** CD-ROM | disk | FTP | other *** search
/ Commodore Free 6 / Commodore_Free_Issue_06_2007_Commodore_Computer_Club.d64 / t.romram 2 < prev   
Text File  |  2023-02-26  |  11KB  |  369 lines

  1. u
  2.   The 6502-RAMROM as drive expander
  3.                 Part 2
  4.     ==============================
  5.   i Wolfgang Moser and Nicolas Welte
  6.  
  7. Now, with the patched ROMs, I was able
  8. to Flash other ROM banks without the
  9. need to switch back to the original
  10. CBM DOS 2.6 ROM (which worked
  11. flawlessly with all previous tests).
  12. Problems with the prototype another
  13. problem manifested when analyzing the
  14. [store-to-ROMk problem with the drive
  15. expansion 6502-RAMROM prototype What
  16. happens, when someone wants to flash
  17. the whole ROM, but the DD2 RAM
  18. configuration is selected?
  19.  
  20.  Because the DD2 RAM overlays the
  21. drive's address space from 0x8000 to
  22. 0x9FFF  the Flash-ROM cannot be
  23. addressed there. Furthermore, DD2 went
  24. crazy, whenever the Flash enable
  25. switch was set. Nicolas detected the
  26. problem by carefully reviewing the
  27. 1541 GAL equations.
  28.  
  29. The Flash option switch disables the
  30. overlaying RAM for write operations.
  31. Not a big task, because only the GAL
  32. needs to be replaced, I thought. First
  33. we decided to patch the floppy DOS ROM
  34. part of Dolphin-DOS 2.0. The ROM code
  35. should not access the 8kB RAM at the
  36. memory address location
  37. 0x8000...0x9FFF anymore, but at the
  38. addresses 0x6000...0x7FFF. That way no
  39. changes to the 6502-RAMROM would
  40. needed, because the RAMboard
  41. configuration could be used instead.
  42. And flashing the full 32kB ROM bank
  43. should become possible, too.  But
  44. Nicolas reported, that the patched
  45. DD2-6 ROM  didn't work, although other
  46. tests with the VICE emulator showed no
  47. problems. He found out, that there was
  48. a real hardware problem, that depends
  49. on the special address decoding
  50. behaviour of the CBM drive series (RAM
  51. and especially VIA locations mirrored
  52. at different addresses; IRQ flag
  53. handling). Since the PET and VIC20
  54. computers don't contain such mirrored
  55. device address spaces, this problem
  56. couldn't be detected with the
  57. PET/VIC20 6502-RAMROM prototypes.
  58.  
  59. The Solution Nicolas worked out a
  60. solution, that needed the least
  61. possible changes to the PCB in
  62. combination with changed GAL
  63. equations. Without the GAL, this fix
  64. would have been a huge patch orgy.
  65. Unfortunately you have to redo the
  66. patch  if you want to use the
  67. 6502-RAMROM in a VIC20 or PET again.
  68. Although not needed I installed some
  69. jumpers to easily configure the PCB
  70. for both options.
  71.  
  72.  In the meantime I tested flashing
  73. other Flash-ROMs with different sizes.
  74. I had an AT29C020 as spare and tested
  75. the bigger flashing page size. Reading
  76. out the ROM contents with the
  77. c't-Flasher  at my PC again showed no
  78. differences. Note: you can't
  79. access/flash half of the banks of this
  80. ROM type without further hardware
  81. modifications. Then I tested an
  82. AT29C256 as a small replacement for my
  83. C64 Kernal switch board.
  84.  
  85. [AT29C256 to 32 pin Flash-Adaptor,
  86. bottom view,
  87.  
  88.  [AT29C256 to 32 pin Flash-Adaptor,
  89. top view,
  90.  
  91. Before I had to build a small Flash
  92. adaptor, because the 29C256 has got a
  93. different pinout (28 pins) than the
  94. standard 32 pin Flash ROM chips. I
  95. hacked Nicolas' Flash-ROM board  a
  96. little bit by cutting some traces.
  97. Although the Flash-ROM PCB was not
  98. designed for this purpose it fitted my
  99. needs best (instead of building a
  100. cable wired adaptor).
  101.  
  102. Flashing the 29C256 with the least
  103. possible page size brought me a very
  104. small kernal switch board in a few
  105. minutes; thanks to the well designed
  106. Flasher software , that is able to
  107. burn different parts of the ROM chip
  108. in several steps (by selecting a start
  109. address of 0x8000, 0xA000, 0xC000 or
  110. 0xE000).
  111.  
  112. 6502-RAMROM final release test report
  113. from Womo, 2003-02-16 Retesting
  114. different flashing scenarios to check,
  115. that the problems with Dolphin-DOS
  116. were gone After I got the new changed
  117. GALs I repeated all the earlier tests:
  118. Flashing the original CBM DOS V2.6
  119. into bank 0 Selecting bank 0 and
  120. flashing the patched SpeedDOS 40
  121. tracks ROM into bank 1 Selecting bank
  122. 1 and flashing the original
  123. Dolphin-DOS 2.0 ROM into bank 2.
  124. Because of the applied SpeedDOS ROM
  125. patch, the Flash procedure went
  126. flawlessly.
  127.  
  128.  Selecting bank 2, configuring the DD2
  129. RAM configuration and flashing the
  130. patched Dolphin-DOS-2.0-6 ROM (RAM a
  131. location 0x6000 to 0x7FFF) into bank
  132. 3. No problems with that and it shows,
  133. that you can now Flash the ROM
  134. locations from 0xA000 to 0xFFFF, when
  135. the original Dolphin-DOS 2.0 is
  136. enabled. But don't try to Flash the
  137. ROM location at 0x8000. Because it is
  138. used by DD2's RAM, the drive may
  139. become stubborn.
  140.  
  141. Selecting bank 3, configuring the
  142. RAM-Board configuration and flashing
  143. the Dolphin-DOS 3.0 ROM into bank 0.
  144. With the patched DD2-6 ROM the full
  145. ROM bank (0x8000 to 0xFFFF) could be
  146. flashed without any problem, thanks to
  147. the hardware modification and the new
  148. GAL. After preparing some matching C64
  149. Kernal ROMs  [AT29C256 to C64
  150. Kernaladaptor, top view,
  151.  
  152. [AT29C256 to C64 Kernaladaptor,
  153. bottom view,]
  154.  
  155. I started testing the burned SpeedDOS
  156. and Dolphin-DOS versions. As mentioned
  157. earlier the patched SpeedDOS and also
  158. the original Dolphin-DOS ROM worked
  159. without problems. I also tested some
  160. special Dolphin-DOS copy programs
  161. (Dolphin-Copy) without problems. The
  162. patched Dolphin-DOS-2.0-6 (RAM at
  163. 0x6000) is another task, with this
  164. ROM, the Dolphin-Copy program doesn't
  165. work, because the RAM location seems
  166. to be hardcoded into the copy tool. I
  167. also tested Dolphin-DOS 3.0, which
  168. worked fine with the exception that it
  169. was nearly as slow as the original CBM
  170. DOS.
  171.  
  172. No wonder, because DD3 makes use of an
  173. extra parallel port chip (6821 PIA)
  174. within the drive. It cannot
  175. communicate over the standard parallel
  176. port cable connected to the VIA 6522,
  177. therefore it has to use the slow
  178. serial bus transfer routines.
  179.  
  180. The future and some ideas Until now,
  181. mainly the ROM part of the 6502-RAMROM
  182. was tested, in the future I'll have to
  183. look at the RAM configurations,
  184. especially in some applications for
  185. the maxRam-Mode. Perhaps Markus
  186. Brenner wants to jump in here and
  187. extends his Burstnibbler based
  188. transfer tool [mnibk , so that much
  189. more sophisticated copy protections
  190. can be dumped to G64 disk images. I
  191. already started analyzing the
  192. Dolphin-DOS 3.0 DOS ROM looking for
  193. all the parallel port accesses to the
  194. 6821 PIA. Maybe I'm able to patch it,
  195. so that it makes use of the VIA 6522
  196. parallel port.
  197.  
  198. This way people may use Dolphin-DOS
  199. 3.0 without hardware hacking; that
  200. means adding an additional 6821 PIA
  201. into the floppy.  I should take my
  202. 1571 floppy drive sometime and test it
  203. with the 6502-RAMROM, too.
  204.  
  205. There are other floppy speeders,
  206. especially designed for this drive.
  207. Not only to mention Dolphin-DOS 3.0
  208. for the 1571, but especially
  209. Prospeed-1571. With this drive, the
  210. maxRam mode of the 6502-RAMROM cannot
  211. be used, it would overlay the 1571's
  212. CIA and the registers of the WD177x
  213. controller.
  214.  
  215.  It may be interesting what could
  216. happen, if the maxRam mode is used
  217. nevertheless. Not enough, there are
  218. more problems with the Commodore 1571
  219. disk drive.
  220.  
  221. Since there is incredibly little space
  222. between the mainboard and the
  223. transformer assembled over it, I
  224. currently don't know, how to insert
  225. the 6502-RAMROM into the 1571 drive
  226. best. One solution may be to connect
  227. the board with some flat cable to the
  228. processor socket. As for the parallel
  229. cable connector (1571 Burstnibbler
  230. cable compatible) I already built
  231. another lowest profile adaptor.
  232.  
  233. [Inserted 1571 low profileparallel
  234. cable adaptor,
  235.  
  236. [Space upon 1571 low profile parallel
  237. cable adaptor,
  238.  
  239. [1571 low profile parallel cable
  240. adaptor, top view,
  241.  
  242. [1571 low profile parallel cable
  243. adaptor, bottom view,
  244.  
  245. Conclusion and application scenarios
  246. Speeder system [emulatork[Emulatingk
  247. different DOS ROMs and simple speeder
  248. systems like Jiffy-DOS, SpeedDOS or
  249. Dolphin-DOS is the playfield of the
  250. 6502-RAMROM, when inserted into
  251. Commdore's disk drives. You only need
  252. to add a simple parallel cable for
  253. some of these systems.
  254.  
  255. Atmel Flash device programmer
  256.  
  257. In combination with a patched
  258. Dolphin-DOS (DD2-6) , this hardware
  259. extends your floppy disk drive to a
  260. full blown high speed Atmel Flash
  261. device programmer. You will never need
  262. to handle with EPROMs and EPROM
  263. burners again. There is no need
  264. anymore for transfering the ROM files
  265. slowly to the computer memory before
  266. they can be written to the EPROM. The
  267. well designed flasher software makes
  268. your life even simpler.
  269.  
  270. Maybe you want to replace your system
  271. ROMs with DD2-6, which requires some
  272. little hardware modification (using
  273. address line A14 for switching the
  274. upper and lower part of the DD2 ROM at
  275. 0xA000/0xE000); this way you can flash
  276. the whole chip. Nicolas is also
  277. working on more functions, like
  278. programmable bank switching about
  279. unused VIA/CIA port lines.
  280.  
  281. Maybe not only Dolphin-DOS-2.0-6 can
  282. speed up the Flash process a little
  283. bit, but other drive speeders like
  284. Jiffy-DOS, too. Because of the special
  285. designed In-System-Flash software, the
  286. whole process is not really slow on a
  287. 1541 drive equipped with a standard
  288. CBM DOS (35 seconds for 32kB).
  289.  
  290. So you don't need to install a speeder
  291. system or ROM in any case, instead it
  292. is an option. And Nicolas said, the
  293. Flash software contains some potential
  294. for speedups with the 1541 drive.
  295. Let's wait, test and see...
  296.  
  297. RAM (only) expander (1541/1571
  298. RAMBoard) and RAM diagnostic
  299. moduleMore applications of this board
  300. may rely on the RAM option only, you
  301. could save some money by not making
  302. use of the Flash-ROM chip. Copy
  303. software like the well known tool
  304. series Maverick already know how to
  305. use a RAMBoard equipped drive  which
  306. the 6502-RAMROM can easily be
  307. configured to [emulatek.
  308.  
  309. Perhaps Michael Klein (cbm4linux  or
  310. other people may want to develop
  311. special software, that makes use of a
  312. maxRAM equipped disk drive (nearly
  313. 32kB of RAM usable). Not to mention
  314. the RAM diagnostic functionality that
  315. replaces the drive's builtin RAM by
  316. the one from the 6502-RAMROM.
  317.  
  318. Things, the 6502-RAMROM can't do
  319. easily Because the hardware was mainly
  320. designed for universality and
  321. simplicity, it is not a general
  322. speeder system hardware emulator.
  323. Systems like Dolphin-DOS 3.0,
  324. Professional-DOS or Prologic-DOS
  325. cannot be used without further
  326. extensions or ROM patches. This
  327. purpose may be the job of another
  328. hardware extension board, one of the
  329. projects I am currently working on.
  330.  
  331. Taken from the website
  332. http://d81.de/6502RamRom/
  333.  
  334. i Wolfgang Moser and Nicolas Welte Re
  335. printed with owners consent Notes From
  336. Wolfgang Moser on the project
  337. ====================================
  338.  
  339. Email: -Wolfgang Moser
  340.  
  341. in general I agree about reprinting
  342. parts of my online article, if
  343. authorship is made clear and the
  344. origin of this article is named.
  345. Spelling corrections may be done. Then
  346. the article sometimes contains
  347. outdated informations, like e.g.:
  348.  
  349. "Nicolas is also working on more
  350. functions, like programmable bank
  351. switching about unused VIA/CIA port
  352. lines."
  353.  
  354. Nicolas is currently not working on
  355. extensions to the 6502-RamRom, it
  356. perfectly does its job as it is.
  357.  
  358. Since Nicolas also may want to agree
  359. to reprint my article or because he
  360. wants to point out other things, he
  361. got a Bcc copy of this mail.
  362.  
  363. Commodore Free I received no email
  364. from Nicolas but decided to print the
  365. article
  366.  
  367.  
  368. ...end...
  369.  
  370.